using System;
using System.Data;
using System.Windows.Forms;
using Company.BLL;
using Company.BLL.SXXK;
using Company.BLL.DuLieuChuan;
using Janus.Windows.GridEX;
using System.Collections;

namespace Company.Interface.SXXK
{
    public partial class DinhMucRegistedForm : BaseForm
    {
       
        

        public DinhMucRegistedForm()
        {
            InitializeComponent();
        }

        public void BindData()
        {
            Company.BLL.SXXK.DinhMuc dm = new Company.BLL.SXXK.DinhMuc();
            DataSet ds = dm.getSanPhamDinhMuc(ctrDonViHaiQuan.Ma);
            DataTable dtSanPham = ds.Tables[0];
            DataTable dtNPL = ds.Tables[1];
            for (int i = 0; i < dtSanPham.Rows.Count; i++)
            {
                dtSanPham.Rows[i]["DVT_ID"] = DonViTinh_GetName(dtSanPham.Rows[i]["DVT_ID"].ToString());
            }
            for (int i = 0; i < dtNPL.Rows.Count; i++)
            {
                dtNPL.Rows[i]["DVT_ID"] = DonViTinh_GetName(dtNPL.Rows[i]["DVT_ID"].ToString());
            }
            dgList.DataSource = ds;
            dgList.DataMember = "SanPham";

        }

        //-----------------------------------------------------------------------------------------
        
        private void khoitao_DuLieuChuan()
        {
            // Đơn vị tính.
            this._DonViTinh = DonViTinh.SelectAll();
        }

        //-----------------------------------------------------------------------------------------

        private void DinhMucRegistedForm_Load(object sender, EventArgs e)
        {
            this.khoitao_DuLieuChuan();
            // Sản phẩm đã đăng ký.
            this.BindData();
            // Doanh nghiệp / Đại lý TTHQ.

        }

        //-----------------------------------------------------------------------------------------
        
        private void btnGetListFromHQ_Click(object sender, EventArgs e)
        {
            try
            {
                WSForm wsForm = new WSForm();
                wsForm.ShowDialog(this);
                if (!wsForm.IsReady) return;
                this.Cursor = Cursors.WaitCursor;
                btnGetListFromHQ.Enabled = false;
                DataSet dsRegistedList = new DinhMuc().WS_GetDanhSachDaDangKy(ctrDonViHaiQuan.Ma, GlobalSettings.MA_DON_VI);
                // Cập nhật vào CSDL.
                bool ret = new DinhMuc().UpdateRegistedToDatabase(ctrDonViHaiQuan.Ma, GlobalSettings.MA_DON_VI, dsRegistedList);
                this.Cursor = Cursors.Default;
                if (ret)
                {
                    BindData();
                    dgList.Refetch();
                    this.ShowMessage("Cập nhật thành công", false);
                }
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
                this.ShowMessage("Có lỗi: " + ex.Message, false);
            }
            finally
            {
                btnGetListFromHQ.Enabled = true;
                this.Cursor = Cursors.Default;
            }
        }

        //-----------------------------------------------------------------------------------------
        
       

        private void ctrDonViHaiQuan_ValueChanged(object sender, EventArgs e)
        {
            this.BindData();
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void dgList_LoadingRow(object sender, RowLoadEventArgs e)
        {
            //if (e.Row.RowType == RowType.Record)
            //    e.Row.Cells["DVT_ID"].Text = this.DonViTinh_GetName(e.Row.Cells["DVT_ID"].Value.ToString());
        }

        private void cmMain_CommandClick(object sender, Janus.Windows.UI.CommandBars.CommandEventArgs e)
        {
            try
            {
                ArrayList list = new ArrayList();
                string[] masp = null;                
                foreach (GridEXRow row in dgList.GetRows())
                {
                    if (row.Children > 0)//dong cha
                    {
                        if (row.Selected)
                        {
                            list.Add(row.Cells[1].Text);
                        }
                    }
                    else//dong con
                    {
                        ShowMessage("Bạn phải chọn sản phẩm", false);
                        return;
                    }
                }
                if (list.Count > 0)
                {
                    masp=new string[list.Count];
                    for (int i = 0; i < list.Count; ++i)
                    {
                        masp[i] = list[i].ToString();
                    }
                }
                else
                {
                    ShowMessage("Bạn chưa chọn danh sách sản phẩm để đồng bộ", false);
                    return;
                }
                WSForm wsForm = new WSForm();
                wsForm.ShowDialog(this);
                if (!wsForm.IsReady) return;
                this.Cursor = Cursors.WaitCursor;               
                DinhMuc.DongBoDuLieuHaiQuan(ctrDonViHaiQuan.Ma,GlobalSettings.MA_DON_VI,masp);
                ShowMessage("Nhận dữ liệu thành công! ", false);
                BindData();
                this.Cursor = Cursors.Default;
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
                ShowMessage(ex.Message, false);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }

        //-----------------------------------------------------------------------------------------
    }
}